' Subscript & Superscript Demonstrator Mark I ' Ivan C. Smith ' P O Box 226 ' Chester, Nova Scotia ' Canada B0J 1J0 ' rev 9 18 Dec 1986 ' runs on 256 k Amiga ' requires 80 characters in screen line CLEAR,28000 :' needs 28 k of memory GOSUB SetUp GOSUB DefineConst GOSUB Formula1 GOSUB Formula2 GOSUB Formula3 GOSUB Formula4 GOSUB Formula5 GOSUB Formula6 GOSUB Formula7 GOSUB Formula8 GOSUB Formula9 GOSUB Formula10 GOSUB Formula11 GOSUB Formula12 GOSUB Formula13 END SetUp: LOCATE 3,25 PRINT "Setup" ' first character in f1$ should be a space f1$ = " 0123456789+-=!@#$%&*()<>?/:;',." f2$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" n = LEN(f1$) + LEN(f2$) DIM Access%(255) :' access array DIM SScript%(19,n - 1) count% = -1 z$ = f1$ GOSUB ScreenGet z$ = f2$ GOSUB ScreenGet x = 10 y = 50 FOR j = 1 TO n :' show result on screen x = x + 17 IF x > 600 THEN x = 10 y = y + 12 END IF PUT (x,y),SScript%(0,j - 1),PSET NEXT j FOR j = 1 TO 1000 : NEXT j :' pause RETURN DefineConst: q$ = CHR$(34) DIM plocate%(5,1) :' pixel locations CharacterWidth% = 8 RETURN ScreenGet: IF z$ = "" THEN RETURN LOCATE 10,2 COLOR 1,0 PRINT z$ z = LEN(z$) FOR j = 1 TO z count% = count% + 1 GET (8 * j,72) - (8 * j + 7,79),SScript%(0,count%) a = ASC(MID$(z$,j ,1)) Access%(a) = count% NEXT j LOCATE 10,2 PRINT SPACE$(75) RETURN FreMem: LOCATE 22,21 PRINT "Free memory in system ="FRE(-1); LOCATE 23,21 PRINT "Free memory in Basic ="FRE(0); RETURN TranslateFormula: ' ypixel% = y coordinate of current baseline, in pixels ' yInc% = current position measured above or below current baseline ' y coordinate of current position (in pixels) = ypixel% + yInc% ' x coordinate of current position (in pixels) = xpixel% IF Formula$ = "" THEN RETURN tra1: zlen% = LEN(Formula$) IF RIGHT$(Formula$,1) = "\" THEN IF zlen% < 2 THEN Formula$ = "" : RETURN Formula$ = LEFT$(Formula$,zlen% - 1) GOTO tra1 END IF yInc% = 0 j = 0 WHILE j < zlen% j = j + 1 y$ = MID$(Formula$,j,1) IF y$ = "\" THEN j = j + 1 y$ = MID$(Formula$,j,1) IF y$ = "+" THEN yInc% = yInc% - 6 IF y$ = "-" THEN yInc% = yInc% + 6 IF y$ = "Z" THEN yInc% = 0 IF y$ = "." THEN GOSUB DotMult IF y$ = "A" THEN GOSUB ArrowRight IF y$ = "B" THEN GOSUB ArrowRL IF y$ = "C" THEN GOSUB ArrowLeft IF y$ = "J" THEN plocate%(1,0) = xpixel% plocate%(1,1) = ypixel% + yInc% END IF IF y$ = "j" THEN xpixel% = plocate%(1,0) ypixel% = plocate%(1,1) yInc% = 0 END IF IF y$ = "K" THEN plocate%(2,0) = xpixel% plocate%(2,1) = ypixel% + yInc% END IF IF y$ = "k" THEN xpixel% = plocate%(2,0) ypixel% = plocate%(2,1) yInc% = 0 END IF IF y$ = "L" THEN plocate%(3,0) = xpixel% plocate%(3,1) = ypixel% + yInc% END IF IF y$ = "l" THEN xpixel% = plocate%(3,0) ypixel% = plocate%(3,1) yInc% = 0 END IF IF y$ = "M" THEN plocate%(4,0) = xpixel% plocate%(4,1) = ypixel% + yInc% END IF IF y$ = "m" THEN xpixel% = plocate%(4,0) ypixel% = plocate%(4,1) yInc% = 0 END IF IF y$ = "N" THEN plocate%(5,0) = xpixel% plocate%(5,1) = ypixel% + yInc% END IF IF y$ = "n" THEN xpixel% = plocate%(5,0) ypixel% = plocate%(5,1) yInc% = 0 END IF y = VAL(y$) IF y > 0 THEN xpixel% = xpixel% - y IF xpixel% < 1 THEN xpixel% = 1 END IF ELSE a = ASC(y$) ac = Access%(a) PUT (xpixel%,ypixel% + yInc%),SScript%(0,ac),PSET :' print chr IF yInc% = 0 OR FlagFraction% = 1 THEN xpixel% = xpixel% + CharacterWidth% ELSE xpixel% = xpixel% + 9 END IF END IF WEND RETURN Fraction: IF Denominator$ = "" THEN RETURN IF Numerator$ = "" THEN RETURN FlagFraction% = 1 xentry% = xpixel% yentry% = ypixel% counter% = 0 z9 = LEN(Numerator$) FOR j = 1 TO z9 y$ = MID$(Numerator$,j,1) IF y$ = "\" THEN counter% = counter% + 2 :' count non-printing chr NEXT j znum% = z9 - counter% :' znum% = nbr of printing characters in numerator IF znum% < 1 THEN znum% = 1 counter% = 0 z9 = LEN(Denominator$) FOR j = 1 TO z9 y$ = MID$(Denominator$,j,1) IF y$ = "\" THEN counter% = counter% + 2 :' count non-printing chr NEXT j zden% = z9 - counter% :' zden% = nbr of printing characters in denominator IF zden% < 1 THEN zden% = 1 zfra% = zden% IF znum% > zden% THEN zfra% = znum% IF zden% < znum% THEN z = (znum% - zden%) \ 2 Denominator$ = SPACE$(z) + Denominator$ :' centering of shorter denominator END IF IF znum% < zden% THEN z = (zden% - znum%) \ 2 Numerator$ = SPACE$(z) + Numerator$ :' centering of shorter numerator END IF Formula$ = Numerator$ :' print numerator xpixel% = xentry% + 4 ypixel% = yentry% - 5 GOSUB TranslateFormula Formula$ = Denominator$ :' print denominator xpixel% = xentry% + 4 ypixel% = yentry% + 5 GOSUB TranslateFormula x = xentry% + 6 y = yentry% + 3 LINE (x - 8,y) - (x + 9 * zfra%,y),1 xpixel% = xentry% + 9 * (zfra% + 1) ypixel% = yentry% FlagFraction% = 0 RETURN ArrowRight: x = xpixel% + 36 y = ypixel% + 3 - yInc% LINE (x - 21,y) - (x,y),1 LINE (x - 8,y + 3) - (x,y),1 LINE (x - 8,y - 3) - (x,y),1 xpixel% = xpixel% + 50 RETURN ArrowRL: x = xpixel% + 36 y = ypixel% + 3 - yInc% LINE (x - 21,y - 1) - (x,y - 1),1 LINE (x - 13,y - 4) - (x - 21,y - 1),1 LINE (x - 21,y + 1) - (x,y + 1),1 LINE (x - 8,y + 4) - (x,y + 1),1 xpixel% = xpixel% + 50 RETURN ArrowLeft: x = xpixel% + 15 y = ypixel% + 3 - yInc% LINE (x,y) - (x + 21,y),1 LINE (x + 8,y + 3) - (x,y),1 LINE (x + 8,y - 3) - (x,y),1 xpixel% = xpixel% + 50 RETURN ButtonBox: COLOR 1,0 GOSUB FreMem FOR j = 1 TO 5000 : NEXT j IF FlagBox% = 2 THEN LINE (40,162) - (227,180),1,bf LINE (40,162) - (227,180),3,b LINE (39,162) - (228,180),3,b LINE (43,164) - (224,178),2,b LINE (44,164) - (223,178),2,b LOCATE 22,8 COLOR 2,1 PRINT "Show formula coding"; END IF LINE (420,162) - (587,180),1,bf LINE (420,162) - (587,180),3,b LINE (419,162) - (588,180),3,b LINE (423,164) - (584,178),2,b LINE (424,164) - (583,178),2,b LOCATE 22,55 COLOR 2,1 PRINT "Go to next formula"; LOCATE 19,1 FlagChoice% = 0 WHILE FlagChoice% = 0 IF MOUSE(0) < 0 THEN x = MOUSE(1) y = MOUSE(2) IF y > 161 AND y < 181 THEN IF x > 38 AND x < 229 AND FlagBox% = 2 THEN FlagChoice% = 1 IF x > 418 AND x < 589 THEN FlagChoice% = 2 END IF END IF WEND LINE (35,160) - (590,184),0,bf :' erase button boxes RETURN DotMult: x = xpixel% y = ypixel% - 2 - yInc% ac = Access%(46) PUT (x,y),SScript%(0,ac),PSET :' print raised dot xpixel% = xpixel% + CharacterWidth% RETURN Formula1: title$ = "Subscripts Only" COLOR 1,0 CLS z = 37 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 5,7 PRINT "Plaster of Paris is used by doctors to make casts for broken bones." LOCATE 6,7 PRINT "It is manufactured by heating gypsum:" CharacterWidth% = 9 xchr% = 13 :' x position in characters, for LOCATE ychr% = 9 :' y position in characters, for LOCATE xpixel% = 8 * xchr% - 7 :' x position in pixels ypixel% = 8 * ychr% - 8 :' y position in pixels Formula$ = "2 CaSO\-4\Z\.2 H\-2\ZO\A(CaSO\-4\Z)\-2\Z\.H\-2\ZO + 3 H\-2\ZO" GOSUB TranslateFormula LOCATE ychr% + 3,1 PRINT TAB(17) "gypsum" TAB(33) "plaster of Paris" FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN LOCATE 17,6 COLOR 3,1 PRINT Formula$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula2: title$ = "Two-Digit Subscripts" COLOR 1,0 CLS z = 37 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 4,3 PRINT "When soap (sodium stearate) is dissolved in hard water (water containing" LOCATE 5,3 PRINT "dissolved calcium and magnesium salts), it reacts with these salts to" LOCATE 6,3 PRINT "form insoluble compounds, which, in turn, form the ring around the tub." LOCATE 7,3 PRINT "An example of this kind of reaction follows:" CharacterWidth% = 9 xchr% = 10 :' x position in characters, for LOCATE ychr% = 11 :' y position in characters, for LOCATE xpixel% = 8 * xchr% - 7 :' x position in pixels ypixel% = 8 * ychr% - 8 :' y position in pixels f1$ = "2 C\-17\ZH\-35\ZCOONa + CaCl\-2\Z\A(C\-17\ZH\-35\ZCOO)" Formula$ = f1$ + "Ca + 2 NaCl" GOSUB TranslateFormula LOCATE ychr% + 3,1 PRINT TAB(14) "soap" TAB(44) "insoluble" FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN LOCATE 17,6 COLOR 3,1 PRINT Formula$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula3: title$ = "Superscript & Subscript & Fractional Coefficient" COLOR 1,0 CLS z = 37 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 5,12 PRINT "The following formula describes the distance travelled" LOCATE 6,12 PRINT "by an object moving under constant acceleration:" CharacterWidth% = 9 xchr% = 20 :' x position in characters, for LOCATE ychr% = 11 :' y position in characters, for LOCATE xpixel% = 8 * xchr% - 7 :' x position in pixels ypixel% = 8 * ychr% - 8 :' y position in pixels f1$ = "d = v\-1\Zt + " Formula$ = f1$ GOSUB TranslateFormula Numerator$ = "1" Denominator$ = "2" GOSUB Fraction f2$ = "at\+2\Z" Formula$ = f2$ GOSUB TranslateFormula FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN LOCATE 17,20 COLOR 3,1 PRINT f1$; COLOR 1,0 PRINT SPACE$(7); COLOR 3,1 PRINT f2$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula4: title$ = "Scientific Notation and Units" COLOR 1,0 CLS z = 37 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ f1$ = "D\-2\ZO" f2$ = "20\+o\ZC" f3$ = "1.108 x 10\+3\Z kg\.m\+-3\Z," f4$ = "H\-2\ZO" f5$ = "9.97 x 10\+2\Z kg\.m\+-3\Z." CharacterWidth% = 8 xchr% = 4 :' x position in characters, for LOCATE ychr% = 5 :' y position in characters, for LOCATE xpixel% = 8 * xchr% - 7 :' x position in pixels ypixel% = 8 * ychr% - 8 :' y position in pixels Formula$ = "The density of "+f1$+" (heavy water) at "+f2$+" is "+f3$ GOSUB TranslateFormula xchr% = 4 ychr% = 7 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 Formula$ = "which compares to the "+f2$+" density of "+f4$+" of "+f5$ GOSUB TranslateFormula LOCATE 9,4 PRINT "That is, "+q$+"heavy water"+q$+" is just that, it is 11% heavier than ordinary" LOCATE 11,4 PRINT "water." FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 15,10 PRINT f1$ LOCATE 15,30 PRINT f2$ LOCATE 17,10 PRINT f3$ LOCATE 15,50 PRINT f4$ LOCATE 17,45 PRINT f5$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula5: title$ = "Superscript Concurrent With Subscript" COLOR 1,0 CLS z = 37 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 3,3 PRINT " Sulphuric acid is an acid which can transfer two hydrogen ions to two" LOCATE 4,3 PRINT "water molecules. The first hydrogen ion separates from the sulphuric" LOCATE 5,3 PRINT "acid molecule easily:" CharacterWidth% = 9 xchr% = 23 ychr% = 7 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "H\-2\ZSO\-4\Z + H\-2\ZO\AH\-3\ZO\++\Z + HSO\-4\Z\+\9-\Z" Formula$ = f1$ GOSUB TranslateFormula CharacterWidth% = 8 f2$ = "HSO\+-\Z\-\94\Z " xchr% = 3 ychr% = 10 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 Formula$ = " The second hydrogen ion can also leave the "+f2$ Formula$ = Formula$ + "ion, but it has more" GOSUB TranslateFormula PRINT "" LOCATE 11,3 PRINT "difficulty in leaving than did the first:" CharacterWidth% = 9 xchr% = 23 ychr% = 14 LOCATE ychr%,1 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f3$ = "HSO\+-\Z\-\94\Z + H\-2\ZO\AH\-3\ZO\++\Z + SO\-4\Z\+\9--\Z" Formula$ = f3$ GOSUB TranslateFormula FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 18,3 PRINT f1$ LOCATE 16,3 PRINT f2$ LOCATE 20,3 PRINT f3$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula6: title$ = "Superscript Concurrent With Subscript" COLOR 1,0 CLS z = 37 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 5,10 PRINT "The Cockroft-Walton experiment, first performed in 1932," LOCATE 6,10 PRINT "bombards a target of lithium with high-speed protons. " LOCATE 7,10 PRINT "This produces high-speed alpha particles by the following" LOCATE 8,10 PRINT "nuclear reaction. (This is called a "+q$+"nuclear reaction"+q$ LOCATE 9,10 PRINT "because it takes place in the nucleus of the atom.)" CharacterWidth% = 9 xchr% = 17 ychr% = 13 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "\+7\Z\-\93\ZLi + \+1\Z\-\91\ZH\A\+4\Z\-\92\ZHe" Formula$ = f1$ + " + \+4\Z\-\92\ZHe + energy" GOSUB TranslateFormula FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN LOCATE 17,1 COLOR 3,1 PRINT Formula$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula7: title$ = "Superscript Concurrent With Subscript, Multiple Digits" COLOR 1,0 CLS z = 37 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 3,4 PRINT "A "+q$+"breeder reactor"+q$+" makes Plutonium from Uranium-238 by this process." CharacterWidth% = 9 xchr% = 4 ychr% = 6 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "\+238\Z\-\9\992\ZU + \+1\Z\-\90\Zn\A\+239\Z\-\9\992\ZU" Formula$ = "First " + f1$ GOSUB TranslateFormula FOR j = 1 TO 3500 : NEXT j :' pause xchr% = 5 ychr% = 10 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f2$ = "\+239\Z\-\9\992\ZU\A\+239\Z\-\9\993\ZNp + \+0\Z\-\9\9-1\Ze" Formula$ = "then " + f2$ GOSUB TranslateFormula FOR j = 1 TO 3500 : NEXT j :' pause xchr% = 2 ychr% = 14 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f3$ = "\+239\Z\-\9\993\ZNp\A\+239\Z\-\9\994\ZPu + \+0\Z\-\9\9-1\Ze" Formula$ = "finally " + f3$ GOSUB TranslateFormula FOR j = 1 TO 3500 : NEXT j :' pause LOCATE 6,52 PRINT "Notes:" xchr% = 49 ychr% = 8 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 Formula$ = "\+1\Z\-\90\Zn" GOSUB TranslateFormula LOCATE 8,54 PRINT "represents a neutron" xchr% = 48 ychr% = 12 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 Formula$ = "\--1\Z\+\90\Ze" GOSUB TranslateFormula LOCATE 12,54 PRINT "represents an electron" FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 17,9 PRINT f1$ LOCATE 18,9 PRINT f2$ LOCATE 19,9 PRINT f3$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula8: title$ = "Fraction With Superscripts & Subscripts" COLOR 1,0 CLS z = 38 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 4,8 PRINT "Newton's Law of Gravity:" LOCATE 4,47 PRINT "Coulomb's Law:" CharacterWidth% = 9 xchr% = 8 ychr% = 7 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "F\-gravity\Z = G " Formula$ = f1$ GOSUB TranslateFormula f2$ = "\+m\-1\+m\-2" f3$ = "\-d\+2" Numerator$ = f2$ Denominator$ = f3$ GOSUB Fraction xchr% = 40 ychr% = 7 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f4$ = "F\-electrostatic\Z = k " Formula$ = f4$ GOSUB TranslateFormula f5$ = "\+Q\-1\+Q\-2" f6$ = "\-d\+2" Numerator$ = f5$ Denominator$ = f6$ GOSUB Fraction LOCATE 11,5 PRINT "G is called Newton's Universal Gravitational Constant." LOCATE 15,5 PRINT "k is called Coulomb' Constant." xchr% = 5 ychr% = 13 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 Formula$ = "G = 6.673 x 10\+-11\Z N\.m\+2\Z\.kg\+-2\Z" GOSUB TranslateFormula xchr% = 42 ychr% = 15 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 Formula$ = "k = 8.987 x 10\+9\Z N\.m\+2\Z\.C\+-2\Z" GOSUB TranslateFormula FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 18,2 PRINT f1$ LOCATE 17,21 PRINT f2$ LOCATE 19,21 PRINT f3$ LOCATE 18,35 PRINT f4$ LOCATE 17,60 PRINT f5$ LOCATE 19,60 PRINT f6$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula9: title$ = "Fraction With Superscripted & Subscripted Numerator & Denominator" COLOR 1,0 CLS z = 38 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 5,11 PRINT " In descriptions of Gauss's test for the convergence" LOCATE 6,11 PRINT "of infinite series, an often-used example is stated in" LOCATE 7,11 PRINT "the form of a test of this ratio:" CharacterWidth% = 9 xchr% = 20 ychr% = 11 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "\+u\-n" f2$ = "u\-n+1" Numerator$ = f1$ Denominator$ = f2$ GOSUB Fraction Formula$ = " = " GOSUB TranslateFormula f3$ = "\+n\+2\- + a\-1\+n + a\-0" f4$ = "\-n\+2\- + b\-1\+n + b\-0" Numerator$ = f3$ Denominator$ = f4$ GOSUB Fraction FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 17,20 PRINT f1$ LOCATE 17,30 PRINT f3$ LOCATE 19,20 PRINT f2$ LOCATE 19,30 PRINT f4$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula10: title$ = "Fraction With Fractional Denominator" COLOR 1,0 CLS z = 38 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 5,11 CharacterWidth% = 8 xchr% = 4 ychr% = 5 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "v = v\-1\Z + v\-2\Z" Formula$ = "The Newtonian velocity addition law: " + f1$ GOSUB TranslateFormula xchr% = 4 ychr% = 11 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 Formula$ = "The Einstein velocity addition law: v = " GOSUB TranslateFormula f2$ = "\+v\-1\+ + v\-2" f3$ = "\-\-1 + \J " Numerator$ = f2$ Denominator$ = f3$ GOSUB Fraction Formula$ = "\j" GOSUB TranslateFormula :' position denominator fraction f4$ = "\+v\-1\+v\-2" f5$ = "\-c\+2" Numerator$ = f4$ Denominator$ = f5$ GOSUB Fraction FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 8,5 PRINT f1$ LOCATE 17,40 PRINT f2$ LOCATE 19,24 PRINT f3$ LOCATE 19,43 PRINT f4$ LOCATE 19,60 PRINT f5$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula11: title$ = "Time Units: Conversion of Compound to Decimal Form" COLOR 1,0 CLS z = 38 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 3,2 PRINT "As everyone knows, the Earth does not turn on its axis once every 24 h." LOCATE 4,2 PRINT "It actually takes 23 h 56 min 04.09054 s to turn once on its axis." CharacterWidth% = 9 xchr% = 3 ychr% = 9 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "T\-rot\Z = 23\+h\Z56\+m\Z04.\+\9s\Z09054" f1$ = f1$ + " = \J \K" Formula$ = f1$ GOSUB TranslateFormula Formula$ = "\j" GOSUB TranslateFormula :' position fraction at J location f2$ = "\+23 + \L " f3$ = "24" Numerator$ = f2$ Denominator$ = f3$ GOSUB Fraction Formula$ = "\l" GOSUB TranslateFormula :' position fraction at L location f4$ = "\+56 + \M " f5$ = "60" Numerator$ = f4$ Denominator$ = f5$ GOSUB Fraction Formula$ = "\m" GOSUB TranslateFormula :' position fraction at M location f6$ = "4.09054" Numerator$ = f6$ Denominator$ = f5$ GOSUB Fraction Formula$ = "\k" GOSUB TranslateFormula :' position at K location f7$ = "days" Formula$ = f7$ GOSUB TranslateFormula LOCATE 11,10 PRINT "= 0.997 269 5664 days" FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 17,3 PRINT f1$ LOCATE 15,30 PRINT f2$ LOCATE 19,45 PRINT f3$ LOCATE 13,40 PRINT f4$ LOCATE 19,57 PRINT f5$ LOCATE 11,50 PRINT f6$ LOCATE 19,70 PRINT f7$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula12: title$ = "von Weizsacker's Formula" COLOR 1,0 CLS z = 38 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 3,7 PRINT "In a 1938 paper on "+q$+"Element Transformation Inside Stars"+q$+"," LOCATE 4,4 PRINT "published in Physikalische Zeitschrift, Carl Friedrich von Weizsacker" LOCATE 5,4 PRINT "uses this formula, which deals with temperature distribution:" CharacterWidth% = 9 xchr% = 23 ychr% = 9 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "kT = " Formula$ = f1$ GOSUB TranslateFormula f2$ = "\+E\-A\+ - E\-A-1" f3$ = "\-\-\-ln \J " Numerator$ = f2$ Denominator$ = f3$ GOSUB Fraction Formula$ = "\j" GOSUB TranslateFormula :' position fraction at J location f4$ = "\+n\-A-2\+ n\-A\- \K" f5$ = "\-n\+2\-\9\-A-1\Z" Numerator$ = f4$ Denominator$ = f5$ GOSUB Fraction Formula$ = "\k \. " GOSUB TranslateFormula :' position fraction at K location f6$ = "\+G\+2\-\-\9A-1" f7$ = "\-G\-A-2\+ G\-A" Numerator$ = f6$ Denominator$ = f7$ GOSUB Fraction FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 18,13 PRINT f1$ LOCATE 16,39 PRINT f2$ LOCATE 19,20 PRINT f3$ LOCATE 18,34 PRINT f4$ LOCATE 20,34 PRINT f5$ LOCATE 18,60 PRINT f6$ LOCATE 20,60 PRINT f7$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN Formula13: title$ = "Superscripted Subscript" COLOR 1,0 CLS z = 38 - LEN(title$) \ 2 LOCATE 1,z PRINT title$ LOCATE 3,11 PRINT q$+"Exchange reactions"+q$+" are chemical reactions in which the" LOCATE 4,8 PRINT "reagents and the products differ only in isotopic composition." LOCATE 5,8 PRINT "An example is this exchange reaction:" CharacterWidth% = 9 xchr% = 13 ychr% = 7 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f1$ = "C \+16\ZO\-2\Z + 2 H\-2\Z\+18\ZO\B C \+18\ZO\-2\Z + 2 H\-2\Z\+16\ZO" Formula$ = f1$ GOSUB TranslateFormula LOCATE 9,8 PRINT "which has an equilibrium constant K given by" xchr% = 2 ychr% = 14 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 Formula$ = "K = " GOSUB TranslateFormula f2$ = "\+\+\+P\-\-(C \+18\-O\-2\+)\+\+ x P\+2\9\-\-\-(H\-2\+\+16\-O)" f3$ = "\-P\-\-(C \+16\-O\-2\+)\+\+ x P\+2\9\-\-\-(H\-2\+\+18\-O)" Numerator$ = f2$ Denominator$ = f3$ GOSUB Fraction LOCATE 11,40 PRINT "where" xchr% = 43 ychr% = 12 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f4$ = "P\-\-(C \+18\-O\-2\+)\Z = the pressure" Formula$ = f4$ GOSUB TranslateFormula xchr% = 57 ychr% = 13 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f5$ = "exerted by C \+18\ZO\-2\Z" Formula$ = f5$ GOSUB TranslateFormula LOCATE 14,57 PRINT "at equilibrium," LOCATE 15,40 PRINT "and" xchr% = 43 ychr% = 16 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f4$ = "P\-\-(H\-2\+\+18\-O)\Z = the pressure" Formula$ = f4$ GOSUB TranslateFormula xchr% = 58 ychr% = 17 xpixel% = 8 * xchr% - 7 ypixel% = 8 * ychr% - 8 f5$ = "exerted by H\-2\+\+18\-O" Formula$ = f5$ GOSUB TranslateFormula LOCATE 18,55 PRINT "at equilibrium," LOCATE 19,40 PRINT "etc." FlagBox% = 2 GOSUB ButtonBox IF FlagChoice% = 1 THEN COLOR 3,1 LOCATE 9,1 PRINT f1$ LOCATE 19,1 PRINT f2$ LOCATE 20,1 PRINT f3$ FlagBox% = 1 GOSUB ButtonBox END IF RETURN